package com.nbcio.iot.service;

import com.nbcio.iot.domain.bo.IotDeviceBo;
import com.nbcio.iot.domain.vo.IotDeviceVo;

import java.util.Collection;
import java.util.List;

/**
 * 设备Service接口
 */
public interface IIotDeviceService {

    /**
     * 查询设备
     */
    IotDeviceVo queryById(Long deviceId);

    /**
     * 查询设备列表
     */
    List<IotDeviceVo> queryList(IotDeviceBo bo);

    /**
     * 根据分组ID查询设备列表
     */
    List<IotDeviceVo> queryListByGroupId(Long groupId);

    /**
     * 新增设备
     */
    Boolean insertByBo(IotDeviceBo bo);

    /**
     * 修改设备
     */
    Boolean updateByBo(IotDeviceBo bo);

    /**
     * 校验并批量删除设备信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 校验设备名称是否唯一
     */
    Boolean checkDeviceNameUnique(IotDeviceBo bo);

    /**
     * 校验设备编码是否唯一
     */
    Boolean checkDeviceCodeUnique(IotDeviceBo bo);
} 